/*
    This file is part of open-wars <http://code.google.com/p/open-wars/>.

    open-wars is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    open-wars is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with open-wars.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef opengl_ui_h
#define opengl_ui_h

#include <list>

#ifdef WIN32
	#include <Windows.h>
	#include <gl/gl.h>
	#include <gl/glu.h>
	#include <freeglut.h>
#elif IS_OSX
	#include <OpenGL/gl.h>
	#include <OpenGL/glu.h>
	#include <GLUT/glut.h>	
#else
	#include <GL/gl.h>
	#include <GL/freeglut.h>
#endif


#include <ui-interface.h>

class OpenGLUI : public IUIInterface
{

	public:
		OpenGLUI();
		
		// IUIInterface
		virtual void SetRenderer		(IRendererInterface *renderer);
		virtual void Render				();
        virtual void SetInputInterface  (IInputInterface *iface);
		
		// Widgets Functions
		virtual void AddWidget			(UIWidget *widget);
		virtual void RemoveWidget		(UIWidget *widget);
		virtual void RemoveAllWidgets	(void);
		

		IRendererInterface *renderer;

private:
		TEXTURE cursorTexture;
};

#endif // opengl_ui_h
